import { useRef, type RefObject } from 'react'

export function useEnterSubmit(): {
    formRef: RefObject<HTMLFormElement>
    onKeyDown: (event: React.KeyboardEvent<HTMLTextAreaElement>) => void
} {
    const formRef = useRef<HTMLFormElement>(null)

    const handleKeyDown = (
        event: React.KeyboardEvent<HTMLTextAreaElement>
    ): void => {
        if (
            event.key === 'Enter' &&
            !event.shiftKey &&
            !event.nativeEvent.isComposing
        ) {
            formRef.current?.requestSubmit()
            event.preventDefault()
        }
    }

    return { formRef, onKeyDown: handleKeyDown }
}
